const { default: axios } = require("axios");

const http  = axios.create({
  baseURL: 'http://localhost:5200/gege',
  timeout: 5000,
  //配后端数据的接收方式application/json;charset=UTF-8或者application/x-www-form-urlencoded;charset=UTF-8
  headers: {
    "Content-Type": "application/x-www-form-urlencoded",
  },
})
// 请求前的操作
  http.interceptors.request.use(config=>{
      return config;
  },err => {
    return err
  }),

// 请求响应时的一些操作
  http.interceptors.response.use(res => {
    // console.log(res);
      return res;
  },err => {
    if (error && error.response) {
      // 1.公共错误处理
      // 2.根据响应码具体处理
      switch (error.response.status) {
          case 400:
              error.message = '错误请求'
              break;
          case 401:
              error.message = '未授权，请重新登录'
              break;
          case 403:
              error.message = '拒绝访问'
              break;
          case 404:
              error.message = '请求错误,未找到该资源'
              break;
          case 405:
              error.message = '请求方法未允许'
              break;
          case 408:
              error.message = '请求超时'
              break;
          case 500:
              error.message = '服务器端出错'
              break;
          case 501:
              error.message = '网络未实现'
              break;
          case 502:
              error.message = '网络错误'
              break;
          case 503:
              error.message = '服务不可用'
              break;
          case 504:
              error.message = '网络超时'
              break;
          case 505:
              error.message = 'http版本不支持该请求'
              break;
          default:
              error.message = `连接错误${error.response.status}`
              break;
      }
  } else {
      // // 超时处理
      // if (JSON.stringify(error).includes('timeout')) {
      //     Message.error('服务器响应超时，请刷新当前页')
      // }
      // Message.error('连接服务器失败')
  }

  Message.error(error.message);
  return Promise.reject(error);
  })
export default http;